package com.sky.lightleafpicturepavilionserver.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sky.lightleafpicturepavilionserver.domain.WallpaperCategory;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sky.lightleafpicturepavilionserver.dto.WallpaperCategoryDTO;
import com.sky.lightleafpicturepavilionserver.dto.WallpaperCategoryDetailDTO;
import com.sky.lightleafpicturepavilionserver.dto.WallpaperCategoryPageDTO;

import java.util.List;

/**
* @author Administrator
* @description 针对表【wallpaper_category(壁纸分类表)】的数据库操作Service
* @createDate 2025-09-30 20:16:58
*/
public interface WallpaperCategoryService extends IService<WallpaperCategory> {

    /**
     * 获取启用的分类列表（用于首页展示）
     * @return 分类列表
     */
    List<WallpaperCategoryDTO> getEnabledCategoryList();
    
    /**
     * 分页查询分类列表
     * @param pageDTO 分页查询参数
     * @return 分页结果
     */
    Page<WallpaperCategoryDTO> getCategoryPage(WallpaperCategoryPageDTO pageDTO);
    
    /**
     * 获取分类详情
     * @param categoryId 分类ID
     * @return 分类详情
     */
    WallpaperCategoryDetailDTO getCategoryDetail(Long categoryId);
    
    /**
     * 获取热门分类列表（按壁纸数量和排序权重排序）
     * @param limit 限制数量
     * @return 热门分类列表
     */
    List<WallpaperCategoryDTO> getHotCategoryList(Integer limit);
}
